home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 6 / Night Owl's Shareware - PDSI-006 - Night Owl Corp (1990).iso / 031a / wsnoop3.zip / SNOOP.DOC < prev    next >
Text File  |  1991-08-23  |  14KB  |  514 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.                                 ______________________
  26.                                 ______________________
  27.  
  28.                                         Snoop
  29.  
  30.                                  Special Demo Version
  31.                                 ______________________
  32.                                 ______________________
  33.                                 ______________________
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.                |
  62.                |
  63.                |
  64.                |   Copyright (C) 1991, by Keith Flower and Yousuf Lodhia.
  65.                |
  66.                |   All Rights Reserved. 
  67.                |
  68.                |
  69.                |   Snoop Information:
  70.                |
  71.                |         Micronite, Inc.
  72.                |         (800) 755-0848
  73.                |
  74.                |         CompuServe 76220, 2703
  75.                |         BIX        kflower
  76.                |         Internet   kef@sactoh0.SAC.CA.US
  77.                |
  78.                |   Trademark Acknowledgements:
  79.                |
  80.                |         Microsoft, OS/2, MS-DOS, and Windows are
  81.                |         registered trademarks of Microsoft Corporation.
  82.                |
  83.                |         Macintosh is a registered trademark of Apple
  84.                |         Computers.
  85.                |  
  86.                |         NeXT is a registered trademark of NeXT Corporation.
  87.                |
  88.                |         CompuServe is a registered trademark of CompuServe
  89.                |         Incorporated.
  90.  
  91.  
  92.  
  93.  
  94.  
  95.                                 AN OVERVIEW OF SNOOP 
  96.                                       ________ 
  97.  
  98.  
  99.                            
  100.                     "Is there a way to track function calls in   
  101.                      the same way that the Windows Spy utility   
  102.                      tracks message flow?"
  103.  
  104.                     "What goes on behind the curtains in         
  105.                      Windows?"
  106.  
  107.                     "How do I set up the parameters for          
  108.                      StretchDIBits ( )?"
  109.  
  110.                     "Which Windows functions is that application  
  111.                      calling to produce such a nice effect?"
  112.  
  113.  
  114.           Snoop provides an  answer to  these questions.   Snoop tells  you
  115.           about  calls  Windows  applications   make  to  the  Windows  API
  116.           functions.   Snoop  reports  the  full  names  and  values  of  a
  117.           function's parameters as set by the calling program.
  118.  
  119.           The special  demonstration version of Snoop  associated with this
  120.           document is being distributed to  show a single important feature
  121.           of the Snoop commercial product, the function tracking mechanism.
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139.  
  140.  
  141.  
  142.  
  143.  
  144.  
  145.  
  146.  
  147.           _________________________________________________________________
  148.           Snoop Demonstration Version.     Copyright (C) 1991.      Page 1
  149.  
  150.  
  151.  
  152.  
  153.  
  154.                                  USING THE SNOOP DEMO
  155.                                        ________
  156.  
  157.  
  158.  
  159.           1.   Copy SNOOP.EXE and SNOOPS.DLL to a directory on your system.
  160.  
  161.           2.   Run SNOOP from the  Windows Program Manager.  Snoop  runs in
  162.                Windows standard and enhanced modes;  it does not operate in
  163.                real mode.
  164.  
  165.           3.   An initial  "Snoop  Demo  Information"  dialog  box  appears
  166.                first.  Choose "OK" when  you've finished reading the dialog
  167.                box text.
  168.  
  169.           4.   From  the  menu  entitled   "Functions",  choose  "Snoop  on
  170.                Function(s)...."    Select  a Windows  function to Snoop  on
  171.                from the dialog box that appears.  
  172.  
  173.                Snoop will report to you every call made to that function by
  174.                Windows applications (except Snoop itself), and will display
  175.                the  complete parameter list  associated with that function.
  176.                The calls are displayed in a scrollable list box.
  177.  
  178.           5.   Double click  on one  of the descriptions  in the  displayed
  179.                list  box.  Snoop shows  a sample parameter  expansion for a
  180.                function call.
  181.                     
  182.           6.   To stop reporting on the function you chose, select  another
  183.                function to report on, or simply exit the Snoop demo.
  184.  
  185.  
  186.           Here are some functions to try:
  187.  
  188.                Start  Snoop and select the  "Ellipse" function.  Invoke the
  189.                Windows Paintbrush utility and use the "circle" tool to draw
  190.                ellipses.
  191.  
  192.                Select the "LocalAlloc" function  and examine the variety of
  193.                conditions that cause an allocation of memory.
  194.  
  195.                Select  "TextOut"  and  pull  down some  menus  from  within
  196.                different Windows applications.
  197.  
  198.                Select "SendMessage"  and track the  message traffic flowing
  199.                through the system.
  200.  
  201.  
  202.  
  203.  
  204.  
  205.  
  206.           _________________________________________________________________
  207.           Snoop Demonstration Version.     Copyright (C) 1991.      Page 2
  208.  
  209.  
  210.  
  211.  
  212.  
  213.                                  ABOUT THE SNOOP DEMO
  214.                                        ________
  215.  
  216.  
  217.  
  218.           We  need  real  people  to  exercise   parts  of  our  unreleased
  219.           commercial product and give us feedback on its usefulness and the
  220.           problems  associated with  it.   That's where  this demonstration
  221.           program comes in.   Obviously Snoop's function tracking is  a big
  222.           (if not the biggest) piece  of the product's total functionality,
  223.           and  we  actively  seek  your  comments  and  criticisms  of  its
  224.           utility.   The  Windows  API  collection  is rich  enough that we
  225.           have a particular need for feedback on which functions (and under
  226.           what conditions) Snoop might have difficulty tracking.
  227.  
  228.           Here  are some of the major differences  between the demo and the
  229.           Snoop commercial product:
  230.  
  231.                The  only  menu  items   selectable  in  the  demo  are
  232.                associated   with   the   limited   function   tracking
  233.                operation.
  234.  
  235.                Clicking on  a  displayed function  description in  the
  236.                retail version expands parameters  based on their type.
  237.                For example, clicking on 
  238.                     
  239.                   lstrcpy (lpString1 0x04ad:089a, lpString2 0x04ad:8840)
  240.  
  241.                changes the description to
  242.  
  243.                   lstrcpy (lpString1 "", "Unrecoverable Application Error")
  244.  
  245.                The retail  version knows about structure expansion, so
  246.                that clicking on
  247.  
  248.                   PtInRect (lpRect 0x10a4: Point 0x01000100)
  249.  
  250.                yields
  251.  
  252.                   PtInRect (lpRect->left   50 lpRect->top     50
  253.                             lpRect->right 300 lpRect->bottom 300,
  254.                             Point.x       256 Point.y        256)
  255.  
  256.                Additionally, the expansion level is fully configurable
  257.                in the retail version.
  258.  
  259.                The retail  version can report parameters using Windows
  260.                constant names  instead  of just  numeric  values.  For
  261.                example, Snoop can show the memory type flags in a call
  262.                to LocalAlloc:
  263.  
  264.  
  265.           _________________________________________________________________
  266.           Snoop Demonstration Version.     Copyright (C) 1991.      Page 3
  267.  
  268.  
  269.  
  270.  
  271.  
  272.                   LocalAlloc (LMEM_MOVEABLE | LMEM_ZEROINIT, 256)
  273.  
  274.                instead of just
  275.  
  276.                   LocalAlloc (0x42, 256);
  277.  
  278.  
  279.                The  retail version  allows  multiple  functions to  be
  280.                tracked.  Additionally,  the   retail  version   allows
  281.                function and message tracking within single or multiple
  282.                tasks. The  demo tracks functions in  all tasks (except
  283.                Snoop itself).
  284.  
  285.                The  retail  version  allows  tracking  based  on  some
  286.                characteristic of parameters associated with  a message
  287.                or function.  For example, one might want to only track
  288.                the  LocalAlloc  function   when  the  allocation  size
  289.                request is greater than 1 kilobyte.
  290.  
  291.                The retail  version allows  information to be  saved to
  292.                disk.
  293.  
  294.                The retail version can report function return values.
  295.  
  296.                A retail version for OS/2 Presentation Manager will be
  297.                available.
  298.  
  299.           There are many other important differences, but as we note above,
  300.           the  demo's  main  purpose is  in  showing  the  elements of  the
  301.           function tracking mechanism.
  302.  
  303.  
  304.  
  305.  
  306.  
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.           _________________________________________________________________
  325.           Snoop Demonstration Version.     Copyright (C) 1991.      Page 4
  326.  
  327.  
  328.  
  329.  
  330.  
  331.                                     CONTACTING US
  332.                                        _______
  333.  
  334.  
  335.  
  336.           If  you have  questions or  wish to  contact us  with information
  337.           about the Snoop demo, please direct your comments to us if at all
  338.           possible via electronic mail:
  339.                       
  340.                               CompuServe 76220, 2703
  341.                               BIX        kflower
  342.  
  343.           The commercial  version of Snoop is being developed by Micronite,
  344.           Inc.   Micronite is  a software  engineering and  consulting firm
  345.           specializing   in  Windows,  OS/2,  and  multimedia  development.
  346.           Micronite  provides cross platform  conversions for DOS, Windows,
  347.           OS/2, the Macintosh family, and NeXT systems. 
  348.  
  349.           If you would like information about the Snoop commercial product,
  350.           please call us toll-free:
  351.  
  352.                               Micronite, Inc.
  353.                               (800) 755-0848
  354.  
  355.  
  356.  
  357.  
  358.  
  359.  
  360.  
  361.  
  362.  
  363.  
  364.  
  365.  
  366.  
  367.  
  368.  
  369.  
  370.  
  371.  
  372.  
  373.  
  374.  
  375.  
  376.  
  377.  
  378.  
  379.  
  380.  
  381.  
  382.  
  383.           _________________________________________________________________
  384.           Snoop Demonstration Version.     Copyright (C) 1991.      Page 5
  385.  
  386.  
  387.  
  388.  
  389.  
  390.                                 COPYRIGHT INFORMATION
  391.                                       ________ 
  392.  
  393.  
  394.  
  395.           Although this version of Snoop is provided as a demonstration, it
  396.           is  fully copyrighted software.   However, you  are encouraged to
  397.           copy   and  share  the  Snoop   demo  subject  to  the  following
  398.           stipulations. 
  399.                      
  400.           The Snoop  demo program, documentation, and  any associated files
  401.           may be  freely  copied  and  shared as  long  as  all  files  are
  402.           included.   You cannot use the Snoop demo for commercial purposes
  403.           without  written   consent  from  us.     All  copyright  notices
  404.           associated with the Snoop demo must remain intact.
  405.                           
  406.           Snoop demo files may be freely copied and  shared with others, so
  407.           long as  no charge  is made.   The files  may be  distributed via
  408.           modem  provided  that  all  files are  archived  and  transmitted
  409.           together.    No files  may be  distributed  unless all  files are
  410.           included. 
  411.  
  412.           No payment other than a nominal shipping and handling  fee may be
  413.           charged for distributing the Snoop demo.
  414.  
  415.  
  416.  
  417.  
  418.  
  419.  
  420.  
  421.  
  422.  
  423.  
  424.  
  425.  
  426.  
  427.  
  428.  
  429.  
  430.  
  431.  
  432.  
  433.  
  434.  
  435.  
  436.  
  437.  
  438.  
  439.  
  440.  
  441.  
  442.           _________________________________________________________________
  443.           Snoop Demonstration Version.     Copyright (C) 1991.      Page 6
  444.  
  445.  
  446.  
  447.  
  448.  
  449.                                  WARRANTY INFORMATION
  450.                                        ________
  451.  
  452.  
  453.  
  454.           The  authors make no representation or warranties with respect to
  455.           this   document  or  the   demonstration  product  this  document
  456.           describes.   This statement is  in lieu of  all other warranties,
  457.           express  or  implied,  including   but  not  limited  to  implied
  458.           warranties  of  merchantability  and  fitness  for  a  particular
  459.           purpose.    Additionally,  the authors  are  not  liable  for any
  460.           consequential damages whatsoever, (including, without limitation,
  461.           damages for loss of business profits, business interruption, loss
  462.           of business information, or  other pecuniary loss).  Your  use of
  463.           this  product  (the Snoop  demo)  signifies  your acceptance  and
  464.           agreement to this.
  465.  
  466.           Every  effort has  been made  to insure  that this  program works
  467.           without  error.   However  Snoop  and  its associated  files  and
  468.           documentation are NOT guaranteed to be error-free.  
  469.  
  470.           We  are  interested  in  improving this  product  for  everyone's
  471.           benefit, and we  welcome reports  of problems with  the demo  and
  472.           suggestions  for improvement.  Again, please contact us with your
  473.           comments at
  474.  
  475.                               CompuServe 76220, 2703
  476.                               BIX        kflower
  477.  
  478.  
  479.  
  480.  
  481.  
  482.  
  483.  
  484.  
  485.  
  486.  
  487.  
  488.  
  489.  
  490.  
  491.  
  492.  
  493.  
  494.  
  495.  
  496.  
  497.  
  498.  
  499.  
  500.  
  501.           _________________________________________________________________
  502.           Snoop Demonstration Version.     Copyright (C) 1991.      Page 7
  503.  
  504.  
  505.  
  506.  
  507.  
  508.  
  509.  
  510.  
  511.  
  512.  
  513.  
  514.